<?php
define('NO_CHECK_LOGIN','ture');
require 'init.php';
//假设当前已登录的用户ID为1
$user_id = 1;
//相册的顶级目录
$album_path="../../upload/dynamic2";
//不存在则创建
is_dir($album_path)||mkdir($album_path,0777,true);

//判断是否请求子目录的路径
if(isset($_GET['path'])){
	$path=$_GET['path'];
	preg_match('/^[\w\/]*$/',$path) || exit('路径只允许字母、数字、下划线、斜线');
	$path = $path ? "$album_path/$path" : $album_path;
	is_dir($path)||exit('你访问的相册不存在');
}else{
	$path=$album_path;
}
//实现相册创建
if(isset($_POST['dir_name'])){
	$dir_name=$_POST['dir_name'];
	preg_match('/^\w+$/',$dir_name) || exit('相册名只允许字母、数字、下划线');
	$target_path="$path/$dir_name";
	if(!file_exists($target_path)){
		mkdir($target_path,0777);
		}
	}
//判断是否有文件上传
if(isset($_FILES['file_name'])){
	$pic = $_FILES['file_name'];
	//判断是否上传成功，如果失败则提示错误信息
	if($pic['error'] > 0){
		$error = '上传失败：';
		switch($pic['error']){
 			case 1: $error .= '文件大小超过了服务器设置的限制！';break;
			case 2: $error .= '文件大小超过了表单设置的限制！'; break;
			case 3: $error .= '文件只有部分被上传！'; break;
			case 4: $error .= '没有文件被上传！'; break;
			case 6: $error .= '上传文件临时目录不存在！'; break;
			case 7: $error .= '文件写入失败！'; break;
			default: $error .='未知错误！'; break; 
		}
		exit($error);  //显示错误信息并停止脚本
	}
	//判断是否为允许的图片格式
	$type = strrchr($pic['name'],'.');
	if(($type !== '.jpg') || ($pic['type'] !== 'image/jpeg')){
		exit('图像类型不符合要求，只支持jpg类型的图片');
	}
	//为上传文件重新生成文件名
	$save_name = md5(uniqid(rand())).'.jpg';
	//拼接文件保存路径
	$save_path = "$path/$save_name";
	if(!move_uploaded_file($pic['tmp_name'],$save_path)){
		exit('上传图片保存失败。');
	}
	$size= getimagesize($save_path);
	$width=$size[0];
	$height=$size[1];
	
	$thu_width=250;
	$thu_height=$thu_width*$height/$width;
	//下面的函数用于创建画布，参数为画布的宽度值和高度值
	$thumb = imagecreatetruecolor($thu_width,$thu_height);
	//从文件中读取出图像，创建为jpeg格式的图像资源
	$thumb1 = imagecreatefromjpeg($save_path);
	imagecopyresized($thumb,$thumb1,0,0,0,0,$thu_width,$thu_height,$width,$height);
	//将保存缩略图到指定目录（参数依次为图像资源、保存目录、输出质量0~100）
	imagejpeg($thumb,$save_path, 100);
}
//获取文件列表
$folderlist=array();
$filelist=array();
$album_path_len=strlen($album_path)+1;
foreach(glob($path.'/*')as $v){
	 if(is_dir($v)){
		 $folderlist[]=substr($v,$album_path_len);
		 }elseif(is_file($v)){
			 $filelist[]=$v;
			 }
	}
//去除前面的相册路径
$path = substr($path,$album_path_len);
require '../view/dynamic2.html';
?>